This invention relates to a system or means for handling the sequencing of data between the volatile and non-volatile portions of a memory unit during momentary power fluctuations including successive momentary power fluctuations so as to avoid the loss of transaction processing data such as totals and the like.
In certain financial terminals, for example, transaction processing (TP) data is developed for handling customers' accounts. This TP data is stored in memory units which are sometimes referred to as Non-Volatile Random Access Memory (NVRAMS). These NVRAMS contain a first section which acts as a normal RAM when the power thereto is on; however, these RAMS lose the data when the power thereto is turned off. These NVRAMS also contain a second section which comprises for example, Electrically Alterable Read Only Memory (EAROM) which section is non-volatile in that data (which is readily written into) is not lost therefrom when the power thereto is turned off. These NVRAMS are frequently used to store TP data such as teller totals, accumulators, transaction counters, supervisory codes, certain constants and terminal sign-in information, which TP data frequently has to be updated.
The financial terminal in which these NVRAMS are used generally has a power supply whose A.C. input is subjected to fluctuations in voltage, which fluctuations may be due to, for example, excessive demands on the associated A.C. source in the building in which the terminal is housed. The excessive demands (heavy loads) may be due to the operation of elevators, air conditioning units, and the like in the building, for example.
One of the problems with such terminals is that such a momentary fluctuation in the AC source is sensed by the terminal as an impending power failure causing the terminal to be placed in a complete "reset" in order to insure that only valid data will be retained in the memory unit. This resetting of the terminal could result in a considerable down time for the reconstruction of an aborted transaction via an audit trail, a restart of program loading operations and/or an establishment of disrupted communication lines.